Members
Overall Objectives
Research Program
Application Domains
New Software and Platforms
New Results
Bilateral Contracts and Grants with Industry
Partnerships and Cooperations
Dissemination
Bibliography
XML PDF e-pub
PDF e-Pub


Section: New Software and Platforms

FPLLL

Scientific Description

The fplll library is used or has been adapted to be integrated within several mathematical computation systems such as Magma, Sage, and PariGP. It is also used for cryptanalytic purposes, to test the resistance of cryptographic primitives.

Functional Description

fplll contains implementations of several lattice algorithms. The implementation relies on floating-point orthogonalization, and the LLL algorithm is central to the code, hence the name. It includes implementations of floating-point LLL reduction algorithms, offering different speed/guarantees ratios. It further includes an implementation of the BKZ reduction algorithm and variants thereof. It includes an implementation of the Kannan-Fincke-Pohst algorithm that finds a shortest non-zero lattice vector. For the same task, the GaussSieve algorithm is also available. Finally, it contains a variant of the enumeration algorithm that computes a lattice vector closest to a given vector belonging to the real span of the lattice.